package com.mtiiot.fscore.inter1;

import com.mtiiot.fscore.bean.DfsFileAndNameValuePairsInfo;
import com.mtiiot.fscore.bean.DfsFileInfo;
import com.mtiiot.fscore.bean.MetadataInfo;

import java.util.Map;

/**
 * fs服务接口版本1.1
 * 分布式文件系统服务
 * 分布式文件操作文件接口类
 * Created by Administrator on 16-5-31.
 */
public interface FastdfsService1 {
    /**
     * 存文件
     * @param metadataInfo 元数据信息
     * @param ext 扩展名
     * @param file 文件名
     * @return
     */
    public String storeFile(MetadataInfo metadataInfo, String ext, byte[] file);



    /**
     * 取文件
     * @param metadataInfo
     * @param dfsId
     * @return
     */
    public DfsFileInfo getFile(MetadataInfo metadataInfo, String dfsId);

    /**
     * 存文件并且存入文件的附件信息
     * @param metadataInfo 元数据信息
     * @param ext 扩展名
     * @param file 文件字节数组
     * @param nameValuePairs 文件附加信息
     * @return
     */
    public String storeFileAndNameValuePairs(MetadataInfo metadataInfo, String ext, byte[] file, Map<String, String> nameValuePairs);

    /**
     * 取文件和文件的附加信息
     * @param metadataInfo 元数据信息
     * @param dfsId 存fastdfs的key
     * @return
     */
    public DfsFileAndNameValuePairsInfo getFileAndNameValuePairs(MetadataInfo metadataInfo, String dfsId);



    /**
     * 删除文件
     * @param metadataInfo
     * @param dfsId
     * @return
     */
    public boolean delFile(MetadataInfo metadataInfo, String dfsId);
}
